package com.spring.housing.jobBase.config;

import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;


@Configuration
@ComponentScan(basePackages="com.spring.housing.jobBase.config")
public class JobConfig {


        @Value("${xxl.job.admin.addresses}")
        private String adminAddresses;


        @Value("${xxl.job.executor.appname}")
        private String appname;
        @Value("${xxl.job.accessToken}")
        private String token;






        @Value("${xxl.job.executor.logpath}")
        private String logPath;

        @Value("${xxl.job.executor.logretentiondays}")
        private int logRetentionDays;



        @Bean
        public XxlJobSpringExecutor xxlJobExecutor() {

            XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
//            xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
////            xxlJobSpringExecutor.setAppname(appname);
////            xxlJobSpringExecutor.setAccessToken(token);
//            xxlJobSpringExecutor.setLogPath(logPath);
//            xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);

            xxlJobSpringExecutor.setAdminAddresses("http://localhost:8888/xxl-job-admin");
            xxlJobSpringExecutor.setAppname("xxl-job-executor");
            xxlJobSpringExecutor.setAccessToken("123456");
            xxlJobSpringExecutor.setLogRetentionDays(30);
            xxlJobSpringExecutor.setLogPath("E:\\logs\\jobhandel");
            xxlJobSpringExecutor.setPort(7001);
            return xxlJobSpringExecutor;
        }

        /**
         * 针对多网卡、容器内部署等情况，可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP；
         *
         *      1、引入依赖：
         *          <dependency>
         *             <groupId>org.springframework.cloud</groupId>
         *             <artifactId>spring-cloud-commons</artifactId>
         *             <version>${version}</version>
         *         </dependency>
         *
         *      2、配置文件，或者容器启动变量
         *          spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.'
         *
         *      3、获取IP
         *          String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();
         */



}
